package jsen.tool.ddd.domain;

import java.lang.annotation.*;

/**
 * 领域基础概念，领域Service，慎用
 * 个人理解，使用领域service主要两种情况
 * 1，目前为止很难找到一个实体去承载相应策略
 * 2，有对应实体承载相应策略，但是构建这个实体非常复杂，产出小
 *
 * @author jsen
 * @date 2021/10/6
 */
@Target({ElementType.PACKAGE, ElementType.TYPE})
@Retention(RetentionPolicy.CLASS)
@Documented
public @interface DomainService {
    /**
     * 领域服务满足，达成一致的当前必须要存在的领域服务
     */
    String name();

    /**
     * 达成一致的领域服务的职责范围
     */
    String desc();
}
